package com.ito.areaTrabajo.arbol.control;

import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Div;
import org.zkoss.zul.Treecell;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.TreeitemRenderer;
import org.zkoss.zul.Treerow;

import com.ito.areTrabajo.arbol_SeedTool.plantillas.DatosArbol;
import com.ito.areTrabajo.arbol_SeedTool.plantillas.NodosArbol;

public class ProyectoTreeRender implements TreeitemRenderer<NodosArbol<DatosArbol>>{
	public Div centro;
	public ProyectoTreeRender(Div vp){
		centro=vp;
	}
	

//	@Override
	public void render(final Treeitem treeItem, NodosArbol<DatosArbol> _nodosArbol,int index) throws Exception {
		NodosArbol<DatosArbol> nodoArbol=_nodosArbol;
		DatosArbol da=nodoArbol.getData();
		Treerow dataRow=new Treerow();
		dataRow.setParent(treeItem);
		treeItem.setValue(da);
		
		
		
		treeItem.setOpen(nodoArbol.estaDesplegado());
		dataRow.appendChild(new Treecell(da.getNombre()));
		if(da.isPlantillaTerminada()){
			dataRow.setStyle("background-color:yellow;");
			
		}
		dataRow.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener<Event>() {
			
			@Override
			public void onEvent(Event event) throws Exception {
				DatosArbol datosSeleccionados=(DatosArbol)((Treeitem)event.getTarget().getParent()).getValue();
				Executions.getCurrent().getSession().setAttribute("proyectoSeleccionado",datosSeleccionados.getProyPadreId());
				//el zul de cada plantilla en dnd estan las comillas
				treeItem.getParent().getFellow("centro").getChildren().clear();
				if(datosSeleccionados.getNumPlantilla()==1){
					Executions.createComponents("/edicion/portada.zul", treeItem.getParent().getFellow("centro"), null);
					
				}
				if(datosSeleccionados.getNumPlantilla()==2){
					Executions.createComponents("/edicion/control_versiones.zul", treeItem.getParent().getFellow("centro"), null);
				}
				if(datosSeleccionados.getNumPlantilla()==3){
					Executions.createComponents("/edicion/control_revisiones.zul", treeItem.getParent().getFellow("centro"), null);
				}

				if(datosSeleccionados.getNumPlantilla()==4){
					Executions.createComponents("/edicion/encPie.zul", treeItem.getParent().getFellow("centro"), null);
				}
				if(datosSeleccionados.getNumPlantilla()==5){
					Executions.createComponents("/edicion/docReqSec1.zul", treeItem.getParent().getFellow("centro"), null);
				}
				//.zul
			}
		});
		
//		ProyectoTreeNode<ProyectoData> proyectoTreeNode=_proyectoTreeNode;
//		ProyectoData pd=proyectoTreeNode.getData();
//		Treerow dataRow=new Treerow();
//		dataRow.setParent(treeItem);
//		treeItem.setValue(pd);
		
//		treeItem.setOpen(proyectoTreeNode.estaAbierto());
//		dataRow.appendChild(new Treecell(pd.getDescripcion()));
//		dataRow.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener<Event>() {
//
//			@Override
//			public void onEvent(Event event) throws Exception {
//				//Validar si ya hay responsables, si hay, mostrarlo, sino hay, mostrar la ventana deasingacion.
//
//				ProyectoData proyectoSeleccionado=(ProyectoData)((Treeitem)event.getTarget().getParent()).getValue();
//				
//                HashMap<String, String> dataArgs = new HashMap<String, String>();
//                dataArgs.put("name", proyectoSeleccionado.toString());
//                Executions.createComponents("/home/encargado/asignar_responsable.zul", treeItem.getParent().getFellow("centro"), dataArgs);
//                	
//                System.out.println("double click");
//			}
//			
//		});
	}

}
